home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Disc to the Future 2
/
Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin
/
MAC
/
THINKC
/
4_0
/
ORBMECHD
/
ORBMECH3.C
< prev
next >
Wrap
C/C++ Source or Header
|
1991-02-25
|
8KB
|
347 lines
#include "SANE.h"
#include "orbmech.h"
/* globals */
extern DialogPtr LambertDia, HohmannDia, HillsDia, KeplerDia, whichDialog, gHelpDia;
extern DialogPtr gLamHelpDia, gHillsHelpDia, gKepHelpDia, gHohHelpDia;
extern StringHandle gCurParam;
extern extended gParameter;
extern EventRecord gEvent;
Boolean gFirst = 1;
DoCalcMenu( theItem )
int theItem;
{
int itemType;
Rect itemRect;
Handle itemHandle;
WindowPtr dLWinPtr = LambertDia, dOWinPtr = HohmannDia;
WindowPtr dHWinPtr = HillsDia, dKWindPtr = KeplerDia;
ControlHandle kmSecBut, radBut, timeBut;
switch( theItem )
{
case LAMBERT:
ShowWindow( dLWinPtr );
SelectWindow( dLWinPtr );
GetDItem ( LambertDia, KM_SEC, &itemType, &kmSecBut, &itemRect);
SetCtlValue ( kmSecBut, true );
GetDItem ( LambertDia, RADIANS, &itemType, &radBut, &itemRect);
SetCtlValue ( radBut, true );
break;
case HOHMANN:
ShowWindow( dOWinPtr );
SelectWindow( dOWinPtr );
GetDItem ( HohmannDia, KM_SEC_O, &itemType, &kmSecBut, &itemRect);
SetCtlValue ( kmSecBut, true );
GetDItem ( HohmannDia, RAD_BUT2, &itemType, &radBut, &itemRect);
SetCtlValue ( radBut, true );
break;
case HILLS:
ShowWindow( dHWinPtr );
SelectWindow( dHWinPtr );
GetDItem ( HillsDia, KM_SEC, &itemType, &kmSecBut, &itemRect);
SetCtlValue ( kmSecBut, true );
break;
case KEPLER:
ShowWindow( dKWindPtr );
SelectWindow( dKWindPtr );
GetDItem ( KeplerDia, KM_SEC_O, &itemType, &kmSecBut, &itemRect);
SetCtlValue ( kmSecBut, true );
GetDItem ( KeplerDia, RAD_BUT, &itemType, &radBut, &itemRect);
SetCtlValue ( radBut, true );
GetDItem ( KeplerDia, TIME_UNK, &itemType, &timeBut, &itemRect);
SetCtlValue ( timeBut, true );
break;
}
}
/**********************/
HandleLambert( itemHit )
int itemHit;
{
ControlHandle kmSecBut, miHrBut, auYrBut, radBut, degBut;
short itemType;
Rect itemRect;
GetDItem ( LambertDia, KM_SEC, &itemType, &kmSecBut, &itemRect);
GetDItem ( LambertDia, MI_HR, &itemType, &miHrBut, &itemRect);
GetDItem ( LambertDia, AU_YR, &itemType, &auYrBut, &itemRect);
GetDItem ( LambertDia, RADIANS, &itemType, &radBut, &itemRect);
GetDItem ( LambertDia, DEGREES, &itemType, °But, &itemRect);
switch ( itemHit )
{
case CANCEL_BUT:
HideWindow( LambertDia );
break;
case TUTORIAL_BUT:
DoTutMenu( LAM_HELP );
break;
case CALC_BUT:
Lambert();
break;
case KM_SEC:
SetCtlValue( kmSecBut, true );
SetCtlValue( miHrBut, false );
SetCtlValue( auYrBut, false );
break;
case MI_HR:
SetCtlValue( kmSecBut, false );
SetCtlValue( miHrBut, true );
SetCtlValue( auYrBut, false );
break;
case AU_YR:
SetCtlValue( kmSecBut, false );
SetCtlValue( miHrBut, false );
SetCtlValue( auYrBut, true );
break;
case RADIANS:
SetCtlValue( radBut, true );
SetCtlValue( degBut, false );
break;
case DEGREES:
SetCtlValue( radBut, false );
SetCtlValue( degBut, true );
break;
}
}
/**********************/
HandleHohmann( itemHit )
int itemHit;
{
ControlHandle kmSecBut, miHrBut, auYrBut, radBut, degBut;
short itemType;
Rect itemRect;
GetDItem ( HohmannDia, KM_SEC_O, &itemType, &kmSecBut, &itemRect);
GetDItem ( HohmannDia, MI_HR_O, &itemType, &miHrBut, &itemRect);
GetDItem ( HohmannDia, AU_YR_O, &itemType, &auYrBut, &itemRect);
GetDItem ( HohmannDia, RAD_BUT2, &itemType, &radBut, &itemRect);
GetDItem ( HohmannDia, DEG_BUT2, &itemType, °But, &itemRect);
switch ( itemHit )
{
case CANCEL_BUT:
HideWindow( HohmannDia );
break;
case TUTORIAL_BUT:
DoTutMenu( HOH_HELP );
break;
case CALC_BUT:
Hohmann();
break;
case KM_SEC_O:
SetCtlValue( kmSecBut, true );
SetCtlValue( miHrBut, false );
SetCtlValue( auYrBut, false );
break;
case MI_HR_O:
SetCtlValue( kmSecBut, false );
SetCtlValue( miHrBut, true );
SetCtlValue( auYrBut, false );
break;
case AU_YR_O:
SetCtlValue( kmSecBut, false );
SetCtlValue( miHrBut, false );
SetCtlValue( auYrBut, true );
break;
case RAD_BUT2:
SetCtlValue( radBut, true );
SetCtlValue( degBut, false );
break;
case DEG_BUT2:
SetCtlValue( radBut, false );
SetCtlValue( degBut, true );
break;
}
}
/**********************/
HandleHills( itemHit )
int itemHit;
{
ControlHandle kmSecBut, miHrBut, auYrBut, radBut, degBut;
short itemType;
Rect itemRect;
GetDItem ( HillsDia, KM_SEC, &itemType, &kmSecBut, &itemRect);
GetDItem ( HillsDia, MI_HR, &itemType, &miHrBut, &itemRect);
GetDItem ( HillsDia, AU_YR, &itemType, &auYrBut, &itemRect);
switch ( itemHit )
{
case CANCEL_BUT:
HideWindow( HillsDia );
break;
case TUTORIAL_BUT:
DoTutMenu( HILLS_HELP );
break;
case CALC_BUT:
Hills();
break;
case KM_SEC:
SetCtlValue( kmSecBut, true );
SetCtlValue( miHrBut, false );
SetCtlValue( auYrBut, false );
break;
case MI_HR:
SetCtlValue( kmSecBut, false );
SetCtlValue( miHrBut, true );
SetCtlValue( auYrBut, false );
break;
case AU_YR:
SetCtlValue( kmSecBut, false );
SetCtlValue( miHrBut, false );
SetCtlValue( auYrBut, true );
break;
}
}
/**********************/
HandleKepler( itemHit )
int itemHit;
{
ControlHandle kmSecBut, miHrBut, auYrBut, radBut;
ControlHandle degBut, timeBut, posBut;
short itemType;
Rect itemRect;
GetDItem ( KeplerDia, KM_SEC_O, &itemType, &kmSecBut, &itemRect);
GetDItem ( KeplerDia, MI_HR_O, &itemType, &miHrBut, &itemRect);
GetDItem ( KeplerDia, AU_YR_O, &itemType, &auYrBut, &itemRect);
GetDItem ( KeplerDia, RAD_BUT, &itemType, &radBut, &itemRect);
GetDItem ( KeplerDia, DEG_BUT, &itemType, °But, &itemRect);
GetDItem ( KeplerDia, TIME_UNK, &itemType, &timeBut, &itemRect);
GetDItem ( KeplerDia, F_2_UNK, &itemType, &posBut, &itemRect);
switch ( itemHit )
{
case CANCEL_BUT:
HideWindow( KeplerDia );
break;
case TUTORIAL_BUT:
DoTutMenu( KEP_HELP );
break;
case CALC_BUT:
Kepler();
break;
case KM_SEC_O:
SetCtlValue( kmSecBut, true );
SetCtlValue( miHrBut, false );
SetCtlValue( auYrBut, false );
break;
case MI_HR_O:
SetCtlValue( kmSecBut, false );
SetCtlValue( miHrBut, true );
SetCtlValue( auYrBut, false );
break;
case AU_YR_O:
SetCtlValue( kmSecBut, false );
SetCtlValue( miHrBut, false );
SetCtlValue( auYrBut, true );
break;
case RAD_BUT:
SetCtlValue( radBut, true );
SetCtlValue( degBut, false );
break;
case DEG_BUT:
SetCtlValue( radBut, false );
SetCtlValue( degBut, true );
break;
case TIME_UNK:
SetCtlValue( timeBut, true );
SetCtlValue( posBut, false );
break;
case F_2_UNK:
SetCtlValue( timeBut, false );
SetCtlValue( posBut, true );
break;
}
}
/***********************/
DoTutMenu( theItem )
int theItem;
{
int itemType;
Rect itemRect;
Handle itemHandle;
WindowPtr dHelpWinPtr = gHelpDia, dLamHelpWinPtr = gLamHelpDia, dHillsHelpWinPtr = gHillsHelpDia;
WindowPtr dKepHelpWinPtr = gKepHelpDia, dHohHelpWinPtr = gHohHelpDia;
switch( theItem )
{
case HELP:
ShowWindow( dHelpWinPtr );
SelectWindow( dHelpWinPtr );
break;
case LAM_HELP:
ShowWindow( dLamHelpWinPtr );
SelectWindow( dLamHelpWinPtr );
break;
case HILLS_HELP:
ShowWindow( dHillsHelpWinPtr );
SelectWindow( dHillsHelpWinPtr );
break;
case KEP_HELP:
ShowWindow( dKepHelpWinPtr );
SelectWindow( dKepHelpWinPtr );
break;
case HOH_HELP:
ShowWindow( dHohHelpWinPtr );
SelectWindow( dHohHelpWinPtr );
break;
}
}
/***********************/
HandleHelp( theItem )
int theItem;
{
if ( theItem == 1 ) HideWindow( gHelpDia );
}
/***********************/
HandleLamHelp( theItem )
int theItem;
{
if ( theItem == 1 ) HideWindow( gLamHelpDia );
}
/***********************/
HandleHillsHelp( theItem )
int theItem;
{
if ( theItem == 1 ) HideWindow( gHillsHelpDia );
}
/***********************/
HandleKepHelp( theItem )
int theItem;
{
if ( theItem == 1 ) HideWindow( gKepHelpDia );
}
/***********************/
HandleHohHelp( theItem )
int theItem;
{
if ( theItem == 1 ) HideWindow( gHohHelpDia );
}